home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 9 / Night Owl CD-ROM (NOPV9) (Night Owl Publisher) (1993).ISO / 012a / lib194.zip / JPMOUSE.TXT < prev    next >
Text File  |  1992-07-08  |  7KB  |  141 lines

  1.                            JPMOUSE - Version 2.01
  2.  
  3.                          by Jay Parsons (Jparsons)
  4.  
  5.                        Interim release modifications
  6.                           by Ken Chan (HazMatZak)
  7.  
  8.                                 July 8, 1992
  9.  
  10.         This file contains JPMOUSE.BIN, a mouse manager, and its source
  11. code JPMOUSE.ASM.
  12.  
  13.         The following fixes were made to version 2.0 (06/21/92 release) of
  14. JPMOUSE:
  15.  
  16.              (1) "+" call shows cursor after enabling driver
  17.              (2) "-" call hides cursor after disabling driver
  18.              (3) "R" call shows cursor after reseting driver
  19.  
  20.         This version is compatible with version 1 of JPMOUSE.  However, it
  21. adds support for calls with "R", to reset the mouse and turn it on in one
  22. step, and to report or set the mouse cursor position.
  23.  
  24.         If you've downloaded MUSCLICK.ZIP, you know it also reports the
  25. mouse position.  The differences are that this program can also set the
  26. mouse position and that this one reports the current position.  The call
  27. for position to MUSCLICK gives the position at the last click, which may
  28. not be the current position.  Also, of course, MUSCLICK is event-driven and
  29. reports each click after it is installed.  This program must be called each
  30. time it is to do anything.
  31.  
  32.         The complete list of arguments to, and returns values from this
  33. program is as follows:
  34.  
  35. ;       argument:   'R' to check for and reset mouse and turn it on.
  36. ;                   '?' to check for and reset mouse, but NOT turn it on.
  37. ;                   '+' to enable driver and show mouse cursor
  38. ;                   '-' to disable driver and hide mouse cursor
  39. ;                   'H' to hide cursor only
  40. ;                   'S' to show cursor only
  41. ;                   any argument below chr(43), or chr(255):
  42. ;                       first argument is interpreted as row, second as column,
  43. ;                       both as chr() values.  If argument is chr(255),
  44. ;                       mouse is not moved, otherwise is is moved to that
  45. ;                       row, column or both.  In any case the mouse cursor
  46. ;                       row and column are returned.  If only one argument
  47. ;                       is furnished, mouse will be moved to column zero.
  48.  
  49. ;       returns:    If called with '?' or 'R' returns 'T' if mouse, or 'F'.
  50. ;                   Calls with first argument below chr(43), or chr(255),
  51. ;                   return row and column of mouse cursor as chr() values.
  52. ;                   Calls with first argument $ "+-HS" return 'T',
  53. ;                   call with some other character returns 'F'.
  54.  
  55.         When I uploaded the first version of this I thought I knew how to
  56. prevent mouse droppings in all cases.  I no longer think I know.  This
  57. program supports all the standard calls to int 33h functions for these
  58. purposes; you'll just have to experiment to see what works for you.
  59. Typically, repeated calls with "+" or "R" will leave mouse droppings.  In a
  60. program, if the mouse status is unknown it seems safest to call with "?",
  61. then with "+" if it is desired to turn the mouse cursor on.
  62.  
  63.         When called with "-", this program calls function 1Fh of int 33h to
  64. disable the driver, as well as hiding the cursor.  However, my LogiTech
  65. driver continues to track movement of the mouse, which is not supposed to
  66. occur.  Theoretically, calls with "H" and "S" should be made if it is
  67. desired to hide then show the cursor but keep the driver active, while "-"
  68. and "+" should disable/reenable the driver.  I cannot promise that calls
  69. with "-" will prevent recognition of undesired mouse actions.
  70.  
  71.         Here's the list of int 33h functions called in each case, except
  72. the ones to move or report the mouse cursor:
  73.  
  74.         argument:      calls these int 33h functions:
  75.  
  76.          R                       0 and 1
  77.          ?                       0 only
  78.          +                       20h and 1
  79.          -                       1Fh and 2
  80.          H                       2 only
  81.          S                       1 only
  82.  
  83.         By sheer good luck, the highest possible row is 42, one less than
  84. the ASCII value of "+", which allowed expanding this to recognize calls
  85. with a row for an argument without making it incompatible with the original
  86. version.  The calling syntax is
  87.  
  88.                 CALL JPMOUSE WITH cMRow, cMCol
  89.  
  90.         where cMRow and cMCol contain either the chr() value of the row and
  91. column to which the mouse is to be moved, or chr(255) if you don't want to
  92. move it.  The row and column of the (new) position will be returned and can
  93. be found as asc(cMRow) and asc(cMCol) respectively.  It is possible to call
  94. with cMRow = chr(255) and cMCol = chr(0), or the like, in this case to move
  95. the mouse cursor to the left edge of the screen without changing the row.
  96. If you omit the second argument, the mouse will be moved to column 0.  As
  97. usual, the arguments must be variables for any information to be returned.
  98.  
  99.         If you are using this to manage the mouse at the same time you are
  100. using MUSCLICK to report clicks, do not call with "?" or "R" after the call
  101. to MUSCLICK to install it.  Calling this program with "?" or "R" resets the
  102. mouse and disables user handlers, including the one installed by MUSCLICK.
  103. Since repeated installations of MUSCLICK without uninstalling it could
  104. result in scrambling the address of the active mouse-event handler, care
  105. should be taken to uninstall the MUSCLICK handler before calling this
  106. program to reset the mouse.
  107.  
  108.                               ** DISCLAIMER **
  109.  
  110.         This freeware is published as an educational item for those
  111. interested, and is not warranted in any way.  It will, it is hoped, become
  112. obsolete when the next release of dBASE after dBASE IV 1.5 provides more
  113. complete mouse support.
  114.  
  115.         Please report bugs or problems to:
  116.  
  117.                                                 Jay Parsons
  118.                                                 52 Chapin Road
  119.                                                 Bernardsville, NJ 07924
  120.                                                 Voice: (908) 766-3380
  121.                                                 Fax: (908) 766-3381
  122.                                                 CIS: 70160,340
  123.                                                 BORBBS: Jparsons
  124.         or
  125.                                                 Ken Chan
  126.                                                 BORBBS: HazMatZak
  127.  
  128.  
  129.  
  130.         BORBBS = the Borland Technical Support BBS, accessible toll-free
  131. through the Compuserve Information Network for all Borland customers; you
  132. do not have to be a Compuserve subscriber.  As of this writing, BORBBS only
  133. supports former Ashton-Tate products, like dBASE (in a previous life, it
  134. was ATBBS).
  135.  
  136.         To get access, call your local Compuserve node.  Upon connection,
  137. press <Enter> (do not press Ctrl-C).  At the "Host Name:" prompt, type
  138. "BORBBS" and press <Enter>.  You will need a valid serial number of a
  139. Borland product to register.
  140.  
  141.